package cn.net.sinodata.system.domain;

import cn.net.sinodata.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 交易流水附对象 bm_trans_sub_serial
 *
 * @author chenbaijun
 * @date 2025-10-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("bm_trans_sub_serial")
public class BmTransSubSerial extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private String id;

    /**
     * 主流水表主键
     */
    private String transid;

    /**
     * 交易流水号
     */
    private String transNo;

    /**
     * 托管机构
     */
    private String custodyInstitutionName;

    /**
     * 是否在交易后确认
     */
    private String isConfirmAfterTrans;

    /**
     * 起息清结算方式
     */
    private String interestSettlementMethod;

    /**
     * 到期清结算方式
     */
    private String maturitySettlementMethod;

    /**
     * 是否跨托管机构
     */
    private String isCrossCustodian;

    /**
     * 起息日期
     */
    private Date interestDate;

    /**
     * 机构身份标识
     */
    private String organizationalIdentity;

    /**
     * 交易方向
     */
    private String transactionDirection;

    /**
     * 交易员邮箱
     */
    private String traderEmail;

    /**
     * 交易对手名称
     */
    private String counterpartyName;

    /**
     * 起息金额
     */
    private Long principalAmt;

    /**
     * 到期金额
     */
    private Long maturityAmt;

    /**
     * 内部审批进度
     */
    private String approvalStatus;

    /**
     * 是否存在期间派息
     */
    private String isPeriodDividend;

    /**
     * 派息日
     */
    private Date dividendDate;

    /**
     * 首期支付日
     */
    private Date firstPaymentDate;

    /**
     * 频率
     */
    private String frequency;

    /**
     * 支付调整日
     */
    private Date paymentAdjustmentDate;

    /**
     * 备用字段1
     */
    private String reserved1;

    /**
     * 备用字段2
     */
    private String reserved2;

    /**
     * 备用字段3
     */
    private String reserved3;

    /**
     * 备用字段4
     */
    private String reserved4;

    /**
     * 备用字段5
     */
    private String reserved5;

    /**
     * 备用字段6
     */
    private String reserved6;

    /**
     * 备用字段7
     */
    private String reserved7;

    /**
     * 备用字段8
     */
    private String reserved8;

    /**
     * 备用字段9
     */
    private String reserved9;

    /**
     * 备用字段10
     */
    private String reserved10;

    /**
     * 备用字段11
     */
    private String reserved11;

    /**
     * 备用字段12
     */
    private String reserved12;

    /**
     * 备用字段13
     */
    private String reserved13;

    /**
     * 备用字段14
     */
    private String reserved14;

    /**
     * 备用字段15
     */
    private String reserved15;

    /**
     * 备用字段16
     */
    private String reserved16;

    /**
     * 备用字段17
     */
    private String reserved17;

    /**
     * 备用字段18
     */
    private String reserved18;

    /**
     * 备用字段19
     */
    private String reserved19;

    /**
     * 备用字段20
     */
    private String reserved20;

    /**
     * 备用字段21
     */
    private String reserved21;

    /**
     * 备用字段22
     */
    private String reserved22;

    /**
     * 备用字段23
     */
    private String reserved23;

    /**
     * 备用字段24
     */
    private String reserved24;

    /**
     * 备用字段25
     */
    private String reserved25;

    /**
     * 备用字段26
     */
    private String reserved26;

    /**
     * 备用字段27
     */
    private String reserved27;

    /**
     * 备用字段28
     */
    private String reserved28;

    /**
     * 备用字段29
     */
    private String reserved29;

    /**
     * 备用字段30
     */
    private String reserved30;

    /**
     * 创建机构
     */
    private String createOrg;

    /**
     * 删除标志（0-存在 1-删除）
     */
    //@TableLogic
    private String delFlag;

}
